let arr = [{ title: "yahoo" }];

//function NewArray() {}
//NewArray.prototype = Object.create(Array.prototype);
//arr.__proto__ = NewArray.prototype;

//创建新对象,新对象的原型指向 Array.prototype  {}=> Array.prototype
let newPrototype = Object.create(Array.prototype);
newPrototype.push = function (...args) {
  Array.prototype.push.apply(this, args);
  //对新数据进行 observe
};

//arr.__proto__ = newPrototype;

Object.setPrototypeOf(arr, newPrototype);
arr.push({ title: "tom" });

arr.shift();
console.log(arr);
